home *** CD-ROM | disk | FTP | other *** search
- % \iffalse meta-comment
- %
- % Copyright 1994 the LaTeX3 project and the individual authors.
- % All rights reserved. For further copyright information see the file
- % legal.txt, and any other copyright indicated in this file.
- %
- % This file is part of the LaTeX2e system.
- % ----------------------------------------
- %
- % This system is distributed in the hope that it will be useful,
- % but WITHOUT ANY WARRANTY; without even the implied warranty of
- % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- %
- %
- % IMPORTANT NOTICE:
- %
- % For error reports in case of UNCHANGED versions see bugs.txt.
- %
- % Please do not request updates from us directly. Distribution is
- % done through Mail-Servers and TeX organizations.
- %
- % You are not allowed to change this file.
- %
- % You are allowed to distribute this file under the condition that
- % it is distributed together with all files mentioned in manifest.txt.
- %
- % If you receive only some of these files from someone, complain!
- %
- % You are NOT ALLOWED to distribute this file alone. You are NOT
- % ALLOWED to take money for the distribution or use of either this
- % file or a changed version, except for a nominal charge for copying
- % etc.
- % \fi
- % This files generates MF source files for producing Concrete Roman
- % fonts with Cork encoding. You need to have the DC/EC source
- % distribution which is *not* part of NFSS2 but can be found on the
- % usual archives or can be ordered from TeX organizations.
- %
- % This file is a copy of one of the DC distribution files with the
- % table entries changed so that it will produce Concrete Roman instead
- % of Computer Modern fonts. As an alternative you can copy the first
- % line which is flagged with `FMi' and place it in the table of the
- % file {\tt dcstdedt.tex} in order to produce all Metafont sources from
- % a single file.
- %
- % Usage:
- %
- % Run this file through TeX. This will generate a number of Metafont
- % source files for the Concrete Roman fonts. This will also generate a
- % single page of output showing a table of the fonts generated. (This
- % is much more interesting if you combined the table entry from this
- % file with the standard table entries for the Computer Modern fonts.)
- %
- % Then produce the fonts by running Metafont on the generated fonts.
- % For this you can use the batch file {\tt mfccr.bat} which was
- % generated by the previous step. This batch file is set up to run
- % under DOS and you may have to edit it first.
- %
- % The rest of this this file, except for the lines flagged with `FMi'
- % correspond to the original one from Norbert Schwarz.
- %
- % --------------------------------------------------------
- %
- %
- % Generating MF-files for DC/EC fonts Version 1.1 / 22.3.1992
- %
- % Running TeX with this file as an input results in a lot of
- % Metafont font driver files (dcr5.mf, dcr6.mf, ..). The files
- % which should be generated are marked in the following macro
- % \FontsToBeGenerated. For each font there has to be an entry
- % with the pt sizes the font should be generate with. Additionally
- % in the heading \tablevalues all used pt sizes have to be mentioned,
- % just to get an fine printout.
- %
- % Furthermore there is a batch file which can be customized for the
- % Metafont batch run.
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % please change only here:
- %
- \long\def\FontsToBeGenerated{
-
- \tablevalues ( 5 6 7 8 9 10 10.95[11] 12 14.4[14] 17.28[17] )
-
- % following line changed by FMi
- \makefont dccr ( 5 6 7 8 9 10 10.95[11] 12 14.4[14] 17.28[17] )
- }
- % If a font with a fraction, e.g. "7.5", should be generated
- % and the file name is not allowed to contain a period, an
- % optional file name part can be specified.
- %
- % 7.5[7h]
- %
- % result in - may be - "dcr7h.mf" and an entry of "gensize:=7.5;"
- % (The new value has to be specified in the \tablevalues-line too!
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % The Batch file entries ( #1 contains the fontname )
- %
- % should be of the following form:
- %
- % \def\BatchOutput{\BatchLine{...}%
- % ...
- % \BatchLine{...}}
- %
- %
- % preset value, change \BatchOutput if you like ....
- %
- \def\BatchOutput#1{
- \BatchLine{mf "&plain \string\mode:=oce; input #1"}
- }
- %
- % File naming conventions:
- %
- \def\BatchFileName{mfccr.bat} % FMi
- %
- %
- \def\MetafontFileExtension{.mf}
- %
- \def\modedef{} % e.g. \def\modedef{\string\mode:=hplaser;}
- %
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % please n o changes from here, thanks !
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- %
- % (Avoiding inspecting the macros (sigh!)
- %
- % Norbert Schwarz, Dezember 1990
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \magnification\magstep1
- \overfullrule=0pt
- %\tracingonline1
- %\tracingcommands=1
- %\tracingmacros=1
- % some token handling
- \let\EA\expandafter
- \def\JoinToks#1=(#2+#3){#1=\EA\EA\EA{\EA\the\EA#2\the#3}}
- \def\UpToHere{\relax}
- \def\IgnoreRest#1#2\UpToHere{#1}
- \def\IgnoreFirst#1#2\relax\UpToHere{#2}
- \def\First#1{\EA\IgnoreRest\the#1{}\UpToHere}
- \def\FirstOf#1{\EA\EA\EA{\EA\IgnoreRest\the#1{}\UpToHere}}
- \def\MoveFirst(#1to#2){#2\FirstOf#1}
- \def\Rest#1{\EA\IgnoreFirst\the#1\relax\UpToHere}
- \def\RestOf#1{\EA\EA\EA{\EA\IgnoreFirst\the#1\relax\UpToHere}}
- \def\MoveRest(#1to#2){#2=\RestOf{#1}}
- % borrowed from p. 132 in N.Schwarz, Introduction to TeX
- % (some advertising ..)
-
- \newtoks\Basis
- \newtoks\Table
- \def\storetoks#1{\toks0={#1}\JoinToks\Table=(\Table+\toks0)}
- \Table={}
- %
- \newwrite \batchoutput
- \newwrite \fontoutput
- \def\today{\ifcase\month\or
- January\or Februar\or March\or April\or May\or June\or
- July\or August\or September\or October\or November\or December\fi,
- \number\day,
- \space\number\year}
-
- \def\BatchLine#1{\immediate\write\batchoutput{#1}}
- \immediate\openout\batchoutput=\BatchFileName
-
- \def\empty{}
- \def\minus{-}
- \def\blank{ }
- \def\singlefont#1 {%
- \def\fontsize{#1}%\message{<#1>}%
- \ifx\fontsize\minus\let\next\relax
- \else
- \ifx\fontsize\empty\let\next\singlefont
- \else
- \ifx\fontsize\blank\let\next\singlefont
- \else
- \let\next\dofont
- \fi\fi\fi
- \next}
-
- \def\doentry{\MoveFirst(\Workbase to\Htok)%
- \Workbase=\RestOf\Workbase
- \edef\doou{\the\Htok}%
- \ifx\doou\fontsize
- \def\dooU{\storetoks{\hfill $\bullet$\hfill&}}%
- \let\weiter\dooU
- \else
- \def\weiter{\storetoks{~\hfill&}\doentry}%
- \fi\weiter}
-
-
- \def\singletablevalue#1 {%
- \def\fontsize{#1}%
- \ifx\fontsize\blank\let\next\singletablevalue
- \else
- \ifx\minus\fontsize\let\next\relax
- \else\let\next\dotablevalue\fi
- \fi
- \next}
-
- \newtoks\Htok
- \newtoks\Workbase
- \def\dotablevalue{\edef\dooo{\Htok={{\fontsize}}}%
- \dooo
- \EA\storetoks\EA{\fontsize&}%
- \JoinToks\Basis=(\Basis+\Htok)\singletablevalue}
-
- \def\tablevalues(#1){\storetoks{\bf Fonts &}\singletablevalue#1 -
- \storetoks{\cr}}
-
- \def\makefont #1 (#2){\JoinToks\Workbase=(\Basis+\Basis)%
- \myc=0\immediate\write16{}%
- \edef\fontnamebody{#1}%
- \def\dostoretoks{\storetoks{#1 &}}\dostoretoks
- \singlefont #2 - \storetoks{\cr}}
-
- \def~{\ifdim\dimen0>0pt
- \message{\number\dimen0}%
- \global\advance\dimen0 by -5.25pt
- \message{ }\fi}
-
- \newcount\myc
- \def\extraspaces{\setbox0=\hbox{\tt\fontname}%
- \dimen0=78.75pt
- \advance\dimen0 by -\wd0\relax
- \advance\myc by 1
- \ifnum \myc=5
- \immediate\write16{}%
- \myc=0 \fi}
-
-
- \def\dofonttest#1[#2]#3\nothing{%
- \def\fontsize{#2}%
- \ifx\fontsize\empty
- \def\fontsizename{#1}%
- \def\fontsize{#1}%
- \else
- \def\fontsize{#1}%
- \def\fontsizename{#2}%
- \fi}
- \def\dofont{\doentry\expandafter\dofonttest\fontsize[]\nothing\Dofont}
-
- {\catcode`\%=11
- \catcode`\|=14
- \gdef\Dofont{|
- \edef\fontname{\fontnamebody\fontsizename\MetafontFileExtension}|
- \edef\dowrite{|
- \immediate\openout \fontoutput = \fontname|
- \immediate\write
- \fontoutput {% This is \fontname\space
- in text format as of \today}|
- \immediate\write \fontoutput {if unknown dxbase: input dxbase fi;}|
- \immediate\write \fontoutput {}|
- \immediate\write \fontoutput {\modedef}|
- \immediate\write \fontoutput {gensize:=\fontsize;}|
- \immediate\write \fontoutput {generate \fontnamebody}|
- \immediate\closeout \fontoutput|
- \BatchOutput{\fontnamebody\fontsizename}
- \message{\fontname\blank}|\extraspaces~~~~~~~~~~~|
- }\dowrite\singlefont}}
- \immediate\write16{generated mf-files:}
- \immediate\write16{-------------------}
-
- \nopagenumbers
-
- \def\minimumbox#1{\setbox0=\hbox{#1}%
- \ifdim\wd0>15pt \box0\else \hbox to 15pt{\hfil
- \box0\hfil}\fi}
- \storetoks{\hrule
- \medskip
- \centerline{Overview DC/EC - Standard font set}
- \medskip
- \hrule
- \bigskip
- \noindent The following table describes the generated {*.mf} files which
- are needed for the setup of the standard DC/EC-font set.
- \bigskip
- \bigskip
- $$\vbox\bgroup\nointerlineskip\halign\bgroup#\hfil\quad&&\strut
- \quad\minimumbox{#}\cr
- \noalign{\medskip}}
-
-
-
- %\tracingonline1
- %\tracingmacros2
- %\tracingcommands1
-
- \FontsToBeGenerated
-
- \storetoks{\egroup\egroup$$}
-
- \the\Table
- \end
-